package com.retailshop.shopfinace.service;

import com.retailshop.shopfinace.common.Response;
import com.retailshop.shopfinace.entity.*;
import org.apache.ibatis.annotations.Param;

import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.Map;

public interface FinaceService {

    //查询所有的财务信息
    List<Finace> selectFinaceList(Finace record);

    int deleteByPrimaryKey(Integer id,Integer classify);

    //
    int insertFinace(Finace record);

    //
    int insertFinaceOrder(FinaceOrder record);

    FinaceBalance SelectBalance(FinaceBalance record);

    FinaceBalanceAll SelectBalanceAll(FinaceBalanceAll record);

    FinaceBalanceAllX SelectBalanceAllX(FinaceBalanceAllX record);

    FinaceBalanceAllJ SelectBalanceAllJ(FinaceBalanceAllJ record);
    List<Finace> selectWeChatList(@Param("userNoId")Integer userNoId, @Param("remark")String remark);
    List<Finace> selectWeChatListType(@Param("classify")Integer classify,@Param("userNoId")Integer userNoId,@Param("remark")String remark);
    int updateByPrimaryKeySelective(Finace record);
    Response refund(List<Finace> finaceList1,List<Finace> finaceList2,List<Finace> finaceList3,List<Finace> finaceList4,Order order);
    Response refundAmount1(List<Finace> finaceList,Order order);
    Response refundAmount2(List<Finace> finaceList,Order order);
    Response refundAmount3(List<Finace> finaceList,Order order);
    Response refundAmount4(List<Finace> finaceList,Order order);
    int updateByPrimaryKey(Finace record);
    List<Finace> selectBalanceYuE(@Param("classify")Integer classify,@Param("remark")String remark);
    /*前端*/
    int Add(Map<String,String> map, HttpServletRequest request);

    /*前端*/
    FinaceBalance GetBalance(Map<String,String> map, HttpServletRequest request);

    /*前端*/
    FinaceBalanceAll GetBalanceAll(Map<String,String> map, HttpServletRequest request);

    /*前端*/
    FinaceBalanceAllJ GetBalanceAllJ(Map<String,String> map, HttpServletRequest request);

    /*前端*/
    FinaceBalanceAllX GetBalanceAllX(Map<String,String> map, HttpServletRequest request);

    /*前端*/
    Response SetFinaceOrder(Map<String,String> map, HttpServletRequest request);

    //根据类型获和编号ID取积分信息
    Response selectFinaceUserList(Map<String,String> map, HttpServletRequest request);

    //编号ID的收益
    FinaceEarnings getEarnings(Map<String,String> map, HttpServletRequest request);

    //编号ID的收益明细
    List<Finace> selectEarningsList(Map<String,String> map, HttpServletRequest request);

    //转账
    int insertTransfer(Map<String,String> map, HttpServletRequest request);

    //查重复
    Finace SelectDisId();
}
